home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / OEMNSVSV.IN_ / oemnsvsv.inf
INI File  |  1996-07-12  |  30KB  |  736 lines

  1. [Identification]
  2.     OptionType = NetService
  3. [Options]
  4.     SRV
  5. [FileConstants]
  6. UtilityInf      = "UTILITY.INF"
  7. subroutineinf   = "SUBROUTN.INF"
  8. SoftwareType    = "service"
  9. Exit_Code       = 0
  10. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  11. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  12. Manufacturer    = "Microsoft"
  13. ProductMajorVersion     = "4"
  14. ProductMinorVersion     = "0"
  15. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  16. ProductOpSupportWKSTA     = 132 
  17. ProductOpSupportSERVER     = 134 
  18. ProductSRVName          = "LanmanServer"
  19. ProductSRVImagePath     = "%SystemRoot%\System32\services.exe"
  20. NetRuleSRVType          = "srv lmNetService lanmanServer"
  21. NetRuleSRVClass         = {"lanmanServer lmNetService"}
  22. NetRuleSRVUse           = $(SoftwareType)" yes yes"
  23. NetRuleSRVBindForm      = """LanmanServer"" yes yes container"
  24. ProductXACTSRVName      = "XactSrv"
  25. ProductXACTSRVImagePath = "%SystemRoot%\System32\services.exe"
  26. ProductSRVSRVName       = "Srv"
  27. ProductSRVSRVImagePath  = "\SystemRoot\System32\drivers\srv.sys"
  28. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(Product$(Option)Name)"\CurrentVersion"
  29. ParamKeyName    = $(!NTN_ServiceBase)"\"$(Product$(Option)Name)"\Parameters"
  30. SessMgrMemMgtKeyName =  "SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management"
  31. [GeneralConstants]
  32. from      = ""
  33. to        = ""
  34. ExitCodeOk     = 0
  35. ExitCodeCancel = 1
  36. ExitCodeFatal  = 2
  37. KeyNull         = ""
  38. MAXIMUM_ALLOWED   = 33554432
  39. SERVICE_NO_CHANGE = 4294967295
  40. RegistryErrorIndex = NO_ERROR
  41. KeyProduct      = ""
  42. KeyParameters   = ""
  43. TRUE            = 1
  44. FALSE           = 0
  45. NoTitle            = 0
  46. ExitState   = "Active"
  47. OldVersionExisted = $(FALSE)
  48. DriverPath      = $(!STF_NTPATH)\drivers
  49. [date]
  50.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  51. [DetectSystemMemory]
  52.     SystemMemory    = "" ? $(!LIBHANDLE) GetMemorySize
  53. [Identify]
  54.     read-syms Identification
  55.     set Status     = STATUS_SUCCESSFUL
  56.     set Identifier = $(OptionType)
  57.     set Media      = #("Source Media Descriptions", 1, 1)
  58.     Return $(Status) $(Identifier) $(Media)
  59. [ReturnOptions]
  60.     set Status        = STATUS_FAILED
  61.     set OptionList     = {}
  62.     set OptionTextList = {}
  63.     set LanguageList = ^(LanguagesSupported, 1)
  64.     Ifcontains(i) $($0) in $(LanguageList)
  65.         goto returnoptions
  66.     else
  67.         set Status = STATUS_NOLANGUAGE
  68.         goto finish_ReturnOptions
  69.     endif
  70. returnoptions = +
  71.     set OptionList     = ^(Options, 1)
  72.     set OptionTextList = ^(OptionsText$($0), 1)
  73.     set Status         = STATUS_SUCCESSFUL
  74. finish_ReturnOptions = +
  75.     Return $(Status) $(OptionList) $(OptionTextList)
  76. [InstallOption]
  77.     set Option   = $($1)
  78.     set SrcDir   = $($2)
  79.     set AddCopy  = $($3)
  80.     set DoCopy   = $($4)
  81.     set DoConfig = $($5)
  82.     set LanguageList = ^(LanguagesSupported, 1)
  83.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  84.         Return STATUS_NOLANGUAGE
  85.     endif
  86.     Debug-Output "OEMNSVSV.INF: STF_CWDDIR is: "$(!STF_CWDDIR)
  87.     Debug-Output "OEMNSVSV.INF: STF_LANGUAGE is: "$(!STF_LANGUAGE)
  88.     set-subst LF = "\n"
  89.     read-syms GeneralConstants
  90.     read-syms FileConstants
  91.     read-syms DialogConstants$(!STF_LANGUAGE)
  92.     ifstr(i) $(!NTN_Origination) == "NCPA"
  93.         set Continue = $(OK)
  94.     endif
  95.     read-syms FileConstants$(!STF_LANGUAGE)
  96.     detect date
  97.     detect DetectSystemMemory
  98.     set-title  $(FunctionTitle)
  99.     set to   = Begin
  100.     set from = Begin
  101.     set CommonStatus = STATUS_SUCCESSFUL
  102.     EndWait
  103. Begin = +
  104.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  105.         set StartLabel = removeadapter
  106.                 set OEM_ABANDON_OPTIONS = { $(ProductSRVName), +
  107.             $(ProductXACTSRVName), $(ProductSRVSRVName)}
  108.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  109.         set StartLabel = UpgradeSoftware
  110.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  111.         set StartLabel = bindingadapter
  112.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  113.         ifstr(i) $(!STF_PRODUCT) != "WINNT"
  114.             set CommonStatus = STATUS_REBOOT
  115.             set StartLabel = configureadapter
  116.         else
  117.             Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  118.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  119.                 Debug-Output "OEMNSVSV.INF: ShellCode error: cannot get an error string."
  120.                 goto ShellCodeError
  121.             endif
  122.             set CommonStatus = STATUS_USERCANCEL
  123.             set Error = $($R0)
  124.             set from = end
  125.             set to = end
  126.             goto nonfatal
  127.             endif
  128.     else
  129.         set StartLabel = installadapter
  130.                 set OEM_ABANDON_OPTIONS = {}
  131.     endif
  132.     ifstr(i) $(!STF_PRODUCT) == "WINNT"
  133.         set Size = 1
  134.     else
  135.         set Size = 3
  136.     endif
  137.     set RadioDefault = $(Size)
  138.     set RadioIn = {$(RadioDefault)}
  139.     set Lmannounce = 0
  140.     set CheckItemsIn = {OFF}
  141.     set DoSRV = FALSE
  142.     set DoXACTSRV = FALSE
  143.     set DoSRVSRV = FALSE
  144.     ifstr(i) $(Option) == SRV
  145.                 set DoSRV = TRUE
  146.         set DoSRVSRV = TRUE
  147.     else-ifstr(i) $(Option) == XACTSRV
  148.                 set DoXACTSRV = TRUE
  149.     endif
  150.     set from = $(fatal)
  151.     set to = $(fatal)
  152.     goto $(StartLabel)
  153. installadapter = +
  154.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  155.     Ifstr $(KeyProduct) != $(KeyNull)
  156.         CloseRegKey $(KeyProduct)
  157.         Shell $(UtilityInf), VerExistedDlg, $(Product$(Option)Title),+
  158.             $(ProductVersion)
  159.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  160.             Debug-Output "ShellCode error: cannot get an error string."
  161.             goto ShellCodeError
  162.         endif
  163.         goto end
  164.     endif
  165.     goto adapteroptions
  166. configureadapter = +
  167.     OpenRegKey $(!REG_H_LOCAL) "" $(ParamKeyName) $(MAXIMUM_ALLOWED) KeyParameters
  168.     Ifstr $(KeyParameters) == $(KeyNull)
  169.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  170.         Debug-Output "Cannot find component service"
  171.         goto fatalregistry
  172.     endif
  173.     set OldVersionExisted = $(TRUE )
  174.     set ValueName = ""
  175.     set ValueData = ""
  176.     set ValueStr  = ""
  177.     set ValueList = {}
  178.     EnumRegValue $(KeyParameters) ValueList
  179.     ForListDo $(ValueList)
  180.         set ValueItem = $($)
  181.         set ValueName = *($(ValueItem),1)
  182.         set ValueData = *($(ValueItem),4)
  183.         Ifstr(i) $(ValueName) == "Size"
  184.             set Size = $(ValueData)
  185.         else-ifstr(i) $(ValueName) == "Lmannounce"
  186.             set Lmannounce = $(ValueData)
  187.         endif
  188.     EndForListDo
  189.     set LargeSystemCacheOrg = 2
  190.     OpenRegKey $(!REG_H_LOCAL) "" $(SessMgrMemMgtKeyName) $(MAXIMUM_ALLOWED) KeySessMgrMemMgt
  191.     Ifstr $(KeySessMgrMemMgt) != $(KeyNull)
  192.         GetRegValue $(KeySessMgrMemMgt), "LargeSystemCache", LSCInfo
  193.         Debug-Output "GetRegValue returned "$(RegLastError)
  194.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  195.             Debug-Output "GetRegValue of LargeSystemCache successful"
  196.             set LargeSystemCacheOrg = *($(LSCInfo), 4)
  197.             Debug-Output "LargeSystemCacheOrg ="$(LargeSystemCacheOrg)
  198.             ifint $(Size) == 3
  199.                 ifint $(LargeSystemCacheOrg) == 0
  200.                     set Size = 4
  201.                 endif
  202.             endif
  203.         endif
  204.         CloseRegKey $(KeySessMgrMemMgt)
  205.     endif
  206.     set RadioDefault = $(Size)
  207.     set RadioIn = {$(RadioDefault)}
  208.     ifint $(Lmannounce) == 1
  209.         set CheckItemsIn = {ON}
  210.     else
  211.         set CheckItemsIn = {OFF}
  212.     endif
  213.     CloseRegKey $(KeyParameters)
  214.     goto adapteroptions
  215. adapteroptions = +
  216.     ifstr(i) $(DoSRV) == TRUE
  217.         Ifstr(i) $(!NTN_InstallMode) == "configure"
  218.             set from = adapteroptions
  219.             read-syms FileDependentDlg$(!STF_LANGUAGE)
  220.             ui start "InputDlg"
  221.             ifstr(i) $(DLGEVENT) == "CONTINUE"
  222.                 set Size = *($(RadioOut),1)
  223.                 Debug-Output "OEMNSVSV.INF: Size = "$(Size)
  224.                 set Lmannounce = *($(CheckItemsOut),1)
  225.                 Debug-Output "OEMNSVSV.INF: Lmannounce = "$(Lmannounce)
  226.                 ui pop 1
  227.                 goto nextstep
  228.             else-ifstr(i) $(DLGEVENT) == "BACK"
  229.                 set CommonStatus = STATUS_USERCANCEL
  230.                 Debug-Output "Action: exit. Bye."
  231.                 ui pop 1
  232.                 goto end
  233.             else
  234.                 ui pop 1
  235.                 Debug-Output "OEMNSVSV.INF: Action unknown. Bye."
  236.                 goto end
  237.             endif
  238.         endif
  239.     endif
  240. nextstep = +
  241.     StartWait
  242.     ifstr(i) $(!NTN_InstallMode) == "install"
  243.         Ifstr(i) $(DoCopy) == "YES"
  244.            Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  245.            Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  246.                Goto ShellCodeError
  247.            Else-Ifstr(i) $($R0) == STATUS_FAILED
  248.                Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  249.                ifint $($ShellCode) != $(!SHELL_CODE_OK)
  250.                    goto ShellCodeError
  251.                endif
  252.                set Error = $($R0)
  253.                Goto fatal
  254.            Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  255.                Goto successful
  256.            Endif
  257.            Set SrcDir = $($R1)
  258.         Endif
  259.         install "Install-Option"
  260.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  261.            Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  262.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  263.                goto ShellCodeError
  264.            endif
  265.            set Error = $($R0)
  266.            goto fatal
  267.         endif
  268.     endif
  269.     set OEM_ABANDON_ON  = TRUE
  270.     ifstr(i) $(DoSRV) == TRUE
  271.         ifint $(OldVersionExisted) == $(FALSE)
  272.             Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(ProductSRVName))
  273.             Set SrvServiceType = "autoserviceshare"
  274.             Ifint $(SystemMemory) < 12287
  275.                 Set SrvServiceType = "serviceshare"
  276.             Endif
  277.             Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  278.                 $(ProductSRVName), +
  279.                 $(ProductSRVName), +
  280.                 $(ProductSRVDisplayName), $(STF_CONTEXTINFNAME), +
  281.                 $(ProductSRVImagePath), $(SrvServiceType), "", {}, "", +
  282.                 $(NetEventDLL),"","","","server"
  283.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  284.                 Debug-Output "ShellCode error"
  285.                 goto ShellCodeError
  286.             endif
  287.             set RegistryErrorIndex = $($R0)
  288.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  289.                 EndWait
  290.                 Debug-Output "Registry error: add software components"
  291.                 CloseRegKey $($R1)
  292.                 CloseRegKey $($R2)
  293.                 CloseRegKey $($R3)
  294.                 CloseRegKey $($R4)
  295.                 goto fatalregistry
  296.             endif
  297.             Set SoftProductKey  = $($R1)
  298.             Set SoftNetRuleKey  = $($R2)
  299.             Set SoftServiceKey  = $($R3)
  300.             set KeyParameters   = $($R4)
  301.             Set SoftLinkageKey  = $($R5)
  302.             ifstr(i) $(!STF_PRODUCT) == "WINNT"
  303.                 set ProductOpSupport = $(ProductOpSupportWKSTA)
  304.             else
  305.                 set ProductOpSupport = $(ProductOpSupportSERVER)
  306.             endif
  307.             set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  308.                                {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  309.                                {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  310.                                {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSRVTitle)},+
  311.                                {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSRVDescription)},+
  312.                                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSRVName)},+
  313.                                {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)},+
  314.                                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  315.             Shell  $(UtilityInf), AddValueList, $(SoftProductKey), $(NewValueList)
  316.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  317.                 Debug-Output "ShellCode error."
  318.                 goto ShellCodeError
  319.             endif
  320.             set RegistryErrorIndex = $($R0)
  321.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  322.                 EndWait
  323.                 Debug-Output "Resgitry error: add value list."
  324.                 CloseRegKey $(SoftProductKey)
  325.                 CloseRegKey $(SoftNetRuleKey)
  326.                 CloseRegKey $(SoftServiceKey)
  327.                 CloseRegKey $(KeyParameters)
  328.                 CloseRegKey $(SoftLinkageKey)
  329.                 goto fatalregistry
  330.             endif
  331.             set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSRVType)},+
  332.                                 {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSRVClass)}, +
  333.                                 {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSRVUse)}, +
  334.                                 {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSRVBindForm)}, +
  335.                                 {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  336.             Shell  $(UtilityInf), AddValueList, $(SoftNetRuleKey), $(NewValueList)
  337.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  338.                 Debug-Output "ShellCode error."
  339.                 goto ShellCodeError
  340.             endif
  341.             set RegistryErrorIndex = $($R0)
  342.             CloseRegKey $(SoftProductKey)
  343.             CloseRegKey $(SoftNetRuleKey)
  344.             CloseRegKey $(SoftLinkageKey)
  345.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  346.                 EndWait
  347.                 Debug-Output "OEMNSVSV.INF: Registry error: add value list."
  348.                 CloseRegKey $(KeyParameters)
  349.                 goto fatalregistry
  350.             endif
  351.             CreateRegKey $(SoftServiceKey) {"AutotunedParameters",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" AutoTunedKey
  352.             CreateRegKey $(SoftServiceKey) {"Shares",$(NoTitle),GenericClass} "" $(MAXIMUM_ALLOWED) "" SharesKey
  353.             set NewValueList = {{NullSessionPipes,$(NoTitle),$(!REG_VT_MULTI_SZ),{"COMNAP","COMNODE","SQL\QUERY","SPOOLSS","LLSRPC","EPMAPPER","LOCATOR"}},+
  354.                                {NullSessionShares,$(NoTitle),$(!REG_VT_MULTI_SZ),{"COMCFG", "DFS$"}} }
  355.             Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  356.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  357.                 Debug-Output "ShellCode error."
  358.                 goto ShellCodeError
  359.             endif
  360.             set RegistryErrorIndex = $($R0)
  361.             CloseRegKey $(SoftServiceKey)
  362.             CloseRegKey $(AutoTunedKey)
  363.             CloseRegKey $(SharesKey)
  364.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  365.                 EndWait
  366.                 Debug-Output "OEMNSVSV.INF: Registry error: add value list."
  367.                 CloseRegKey $(KeyParameters)
  368.                 goto fatalregistry
  369.             endif
  370.             OpenRegKey $(!REG_H_LOCAL) "" "SYSTEM\CurrentControlSet\Services\LicenseService" +
  371.                     $(!REG_KEY_ALL_ACCESS)  LICENSESERVICEKEY
  372.             Ifstr(i) $(LICENSESERVICEKEY) != ""
  373.                 shell "registry.inf" ModifyServicesEntry "LicenseService" $(!SERVICE_AUTO_START)
  374.             Endif
  375.             CloseRegKey $(LICENSESERVICEKEY)
  376.         endif
  377.         goto writeparameters
  378. writeparameters = +
  379.         ifstr(i) $(Lmannounce) == "ON"
  380.             set LmannounceValue = 1
  381.         else
  382.             set LmannounceValue = 0
  383.         endif
  384.         ifint $(Size) == 4
  385.             set LargeSystemCache = 0
  386.             set Size = 3
  387.         else-ifint $(Size) == 3
  388.             set LargeSystemCache = 1
  389.         else
  390.             set LargeSystemCache = 0
  391.         endif
  392.         set NewValueList = {{Size,$(NoTitle),$(!REG_VT_DWORD),$(Size)},+
  393.                            {Lmannounce,$(NoTitle),$(!REG_VT_DWORD),$(LmannounceValue)} }
  394.         ifint $(OldVersionExisted) == $(TRUE)
  395.             OpenRegKey $(!REG_H_LOCAL) "" $(ParamKeyName) $(MAXIMUM_ALLOWED) KeyParameters
  396.         endif
  397.         Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  398.         set RegistryErrorIndex = $($R0)
  399.         CloseRegKey $(KeyParameters)
  400.         Ifstr(i) $(RegistryErrorIndex) !=  NO_ERROR
  401.             goto fatalregistry
  402.         endif
  403.         ifint $(LargeSystemCache) != $(LargeSystemCacheOrg)
  404.             OpenRegKey $(!REG_H_LOCAL) "" $(SessMgrMemMgtKeyName) $(MAXIMUM_ALLOWED) KeySessMgrMemMgt
  405.             SetRegValue $(KeySessMgrMemMgt) {LargeSystemCache,$(NoTitle),$(!REG_VT_DWORD),$(LargeSystemCache)}
  406.             ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  407.                 set RegistryErrorIndex = UNABLE_WRITE_REGISTRY
  408.                 CloseRegKey $(KeySessMgrMemMgt)
  409.                 goto fatalregistry
  410.             endif
  411.             CloseRegKey $(KeySessMgrMemMgt)
  412.         endif
  413.     endif
  414.     ifstr(i) $(DoXACTSRV) == TRUE
  415.         ifint $(OldVersionExisted) == $(FALSE)
  416.             Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(ProductXACTSRVName))
  417.             Shell $(UtilityInf), CreateService, $(ProductXACTSRVName), +
  418.                 $(ProductXACTDisplayName), $(ProductXACTSRVImagePath), "serviceshare", "", +
  419.                 {"LanmanServer"}, ""
  420.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  421.                 Debug-Output "ShellCode error"
  422.                 goto ShellCodeError
  423.             endif
  424.             set RegistryErrorIndex = $($R0)
  425.             CloseRegKey $($R1)
  426.             CloseRegKey $($R2)
  427.             CloseRegKey $($R3)
  428.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  429.                 EndWait
  430.                 Debug-Output "Registry error: adding XACTSRV service"
  431.                 goto fatalregistry
  432.             endif
  433.         endif
  434.     endif
  435.     ifstr(i) $(DoSRVSRV) == TRUE
  436.         ifint $(OldVersionExisted) == $(FALSE)
  437.             Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(ProductSRVSRVName))
  438.             Shell $(UtilityInf), CreateService, $(ProductSRVSRVName), +
  439.                 $(ProductSRVSRVDisplayName), $(ProductSRVSRVImagePath), "system", "Network", {}, "",+
  440.                 $(NetEventDLL)
  441.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  442.                 Debug-Output "ShellCode error"
  443.                 goto ShellCodeError
  444.             endif
  445.             set RegistryErrorIndex = $($R0)
  446.             CloseRegKey $($R1)
  447.             CloseRegKey $($R2)
  448.             CloseRegKey $($R3)
  449.             Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  450.                 EndWait
  451.                 Debug-Output "Registry error: adding Srv service"
  452.                 goto fatalregistry
  453.             endif
  454.         endif
  455.     endif
  456.     EndWait
  457.     goto successful
  458. bindingadapter =+
  459.     set Error = "Binding: Sorry, not yet implemented."
  460.     goto fatal
  461. removeadapter = +
  462.     ifstr(i) $(!STF_PRODUCT) == "LANMANNT"
  463.         set RegistryErrorIndex = CANT_REMOVE_SERVER_NTAS
  464.         goto fatalregistry
  465.     endif
  466.     ifcontains(i) $(ProductSRVName) in $(OEM_ABANDON_OPTIONS)
  467.         Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  468.            $(ProductSRVName)
  469.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  470.            Debug-Output "ShellCode error"
  471.            goto ShellCodeError
  472.         endif
  473.         set RegistryErrorIndex = $($R0)
  474.         Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  475.            goto fatalregistry
  476.         endif
  477.     endif
  478.     ForListDo  {$(ProductXACTSRVName), $(ProductSRVSRVName)}
  479.         ifcontains(i) $($) in $(OEM_ABANDON_OPTIONS)
  480.            Shell $(UtilityInf), RemoveService, $($), "YES"
  481.            ifint $($ShellCode) != $(!SHELL_CODE_OK)
  482.                Debug-Output "ShellCode error"
  483.                goto ShellCodeError
  484.            endif
  485.            set RegistryErrorIndex = $($R0)
  486.            Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  487.                goto fatalregistry
  488.            endif
  489.         endif
  490.     EndForListDo
  491.     goto end
  492. UpgradeSoftware = +
  493.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  494.     Ifstr $(KeyProduct) != $(KeyNull)
  495.         install "Install-Update"
  496.         ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  497.             goto fatal
  498.         endif
  499.         SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  500.         SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  501.         ifstr(i) $(!STF_PRODUCT) == "WINNT"
  502.             set ProductOpSupport = $(ProductOpSupportWKSTA)
  503.         else
  504.             set ProductOpSupport = $(ProductOpSupportSERVER)
  505.         endif
  506.         SetRegValue $(KeyProduct) {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSRVDescription)}
  507.         SetRegValue $(KeyProduct) {OperationsSupport,$(NoTitle),$(!REG_VT_DWORD),$(ProductOpSupport)}
  508.         CloseRegKey $(KeyProduct)
  509.         LibraryProcedure Result, $(!LIBHANDLE), SetupChangeServiceConfig, "LanmanServer", $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), $(SERVICE_NO_CHANGE), "%SystemRoot%\System32\services.exe", "", "", "", "", ""
  510.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\LanmanServer\Linkage" $(MAXIMUM_ALLOWED) KeyLinkage
  511.         set NewList = {}
  512.         GetRegValue $(KeyLinkage) "OtherDependencies" Dependencies
  513.         ifint $(RegLastError) == 0
  514.             set OldList = *($(Dependencies),4)
  515.             Debug-Output "Old value for OtherDependencies = "$(OldList)
  516.             ForListDo $(OldList)
  517.                 ifstr(i) $($) != "Srv"
  518.                     set NewList = >($(NewList), $($))
  519.                 Endif
  520.             EndForListDo
  521.         endif
  522.         SetRegValue $(KeyLinkage) {OtherDependencies, 0, $(!REG_VT_MULTI_SZ), $(NewList)}
  523.         Debug-Output "New value for OtherDependencies = "$(NewList)
  524.         CloseRegKey $(KeyLinkage)
  525.         OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_ServiceBase)"\LanmanServer\Parameters" $(MAXIMUM_ALLOWED) KeyParameters
  526.         GetRegValue $(KeyParameters), "NullSessionPipes", PipesInfo
  527.         GetRegValue $(KeyParameters), "NullSessionShares", SharesInfo
  528.         set Pipes = *($(PipesInfo),4)
  529.         set Shares = *($(SharesInfo),4)
  530.         ForListDo {"COMNAP","COMNODE","SQL\QUERY","SPOOLSS","LLSRPC","EPMAPPER","LOCATOR"} 
  531.             Ifcontains(i) $($) NOT-IN $(Pipes)
  532.                 ifstr(i) $(Pipes) == ""
  533.                     set Pipes = $($)
  534.                 else
  535.                     set Pipes = >($(Pipes),$($))
  536.                 endif
  537.             endif
  538.         EndForListDo
  539.         ForListDo {"COMCFG"} 
  540.             Ifcontains(i) $($) NOT-IN $(Shares)
  541.                 ifstr(i) $(Shares) == ""
  542.                     set Shares = {$($)}
  543.                 else
  544.                     set Shares = >($(Shares),$($))
  545.                 endif
  546.             endif
  547.         EndForListDo
  548.         set NewValueList = {{NullSessionPipes,$(NoTitle),$(!REG_VT_MULTI_SZ), $(Pipes)},+
  549.                             {NullSessionShares,$(NoTitle),$(!REG_VT_MULTI_SZ),$(Shares)} }
  550.         Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  551.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  552.             Debug-Output "ShellCode error."
  553.             goto ShellCodeError
  554.         endif
  555.         GetRegValue $(KeyParameters), "Disc", DiscInfo
  556.         Debug-Output "GetRegValue returned "$(RegLastError)
  557.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  558.             GetRegValue $(KeyParameters), "AutoDisconnect", DisconnectInfo
  559.             Debug-Output "GetRegValue returned "$(RegLastError)
  560.             ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  561.                 SetRegValue $(KeyParameters) {AutoDisconnect,$(NoTitle),$(!REG_VT_SZ),*($(DiscInfo),4)}
  562.         endif
  563.             DeleteRegValue $(KeyParameters) "Disc"
  564.         endif
  565.         GetRegValue $(KeyParameters), "Comment", CommentInfo
  566.         Debug-Output "GetRegValue returned "$(RegLastError)
  567.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  568.             GetRegValue $(KeyParameters), "SrvComment", SrvCommentInfo
  569.             Debug-Output "GetRegValue returned "$(RegLastError)
  570.             ifint $(RegLastError) != $(!REG_ERROR_SUCCESS)
  571.         SetRegValue $(KeyParameters) {SrvComment,$(NoTitle),$(!REG_VT_SZ),*($(CommentInfo),4)}
  572.         endif
  573.         DeleteRegValue $(KeyParameters) "Comment"
  574.         endif
  575.         GetRegValue $(KeyParameters), "Open", OpenInfo
  576.         Debug-Output "GetRegValue returned "$(RegLastError)
  577.         ifint $(RegLastError) == $(!REG_ERROR_SUCCESS)
  578.             ifint *($(OpenInfo),4) == 10
  579.                 DeleteRegValue $(KeyParameters) "Open"
  580.             endif
  581.         endif
  582.         CloseRegKey $(KeyParameters)
  583.     else
  584.         goto fatalregistry
  585.     endif
  586.     goto end
  587. successful = +
  588.     goto end
  589. warning = +
  590.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  591.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  592.         goto ShellCodeError
  593.     endif
  594.     ifstr(i) $($R1) == "OK"
  595.         goto $(to)
  596.     else-ifstr(i) $($R1) == "CANCEL"
  597.         goto $(from)
  598.     else
  599.         goto "end"
  600.     endif
  601. nonfatal = +
  602.     ifstr(i) $(Error) == ""
  603.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  604.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  605.             goto ShellCodeError
  606.         endif
  607.         set Error = $($R0)
  608.     endif
  609.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "NONFATAL", $(Error)
  610.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  611.         goto ShellCodeError
  612.     endif
  613.     ifstr(i) $($R1) == "OK"
  614.         goto $(from)
  615.     else
  616.         goto "end"
  617.     endif
  618. fatalregistry = +
  619.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  620.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  621.         goto ShellCodeError
  622.     endif
  623.     set Error = $($R0)
  624.     goto fatal
  625. fatal = +
  626.     ifstr(i) $(Error) == ""
  627.         Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  628.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  629.             goto ShellCodeError
  630.         endif
  631.         set Error = $($R0)
  632.     endif
  633.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  634.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  635.         goto ShellCodeError
  636.     endif
  637.     goto setfailed
  638. ShellCodeError = +
  639.     set DlgType      = "MessageBox"
  640.     set STF_MB_TITLE = $(ShellCodeErrorTitle)
  641.     set STF_MB_TEXT  = $(ShellCodeErrorText)
  642.     set STF_MB_TYPE  = 1
  643.     set STF_MB_ICON  = 3
  644.     set STF_MB_DEF   = 1
  645.     ui start "Error Message"
  646.     goto setfailed
  647. setfailed = +
  648.     set CommonStatus = STATUS_FAILED
  649.     Ifint $(RegistryErrorIndex) == CANT_REMOVE_SERVER_NTAS
  650.         set CommonStatus = STATUS_USERCANCEL
  651.     endif
  652.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  653.         set OEM_ABANDON_ON = FALSE
  654.         goto removeadapter
  655.     endif
  656.     goto end
  657. end = +
  658.     goto term
  659. term = +
  660.     Return $(CommonStatus)
  661. [Install-Option]
  662.     set STF_VITAL = ""
  663.     ifstr(i) $(AddCopy) == "YES"
  664.         AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  665.     endif
  666.     ifstr(i) $(DoCopy) == "YES"
  667.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  668.        CopyFilesInCopyList
  669.     endif
  670.     ifstr(i) $(DoConfig) == "YES"
  671.     endif
  672.     Exit
  673. [Install-Update]
  674.    set STF_VITAL        = ""
  675.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  676.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  677.    exit
  678. [Source Media Descriptions]
  679.     1 = "Windows NT Server CD-ROM", TAGFILE = cdrom_s.40
  680. [Signature]
  681.     FileType = MICROSOFT_FILE
  682. [GetSignature]
  683.     read-syms Signature
  684.     return $(FileType)
  685. [ProductType]
  686. STF_PRODUCT  = LanmanNT
  687. STF_PLATFORM = I386
  688. [Files-Inf]
  689. 2,    oemsetup.inf,     SIZE=1000,    RENAME=$(!UG_Filename)
  690. [Files-SRV]
  691. 1,SRV.SYS , SIZE=999
  692. [LanguagesSupported]
  693.     ENG
  694. [OptionsTextENG]
  695.     SRV         = "Server"
  696. [FileConstantsENG]
  697. ProCaption   = "Windows NT Setup"
  698. ProCancel    = "Cancel"
  699. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  700.                "Are you sure you want to cancel copying files?"
  701. ProCancelCap = "Network Setup Message"
  702. ProText1     = "Copying:"
  703. ProText2     = "To:"
  704. FunctionTitle   = "Server"
  705. ProductSRVDescription           = "Installs support for the SMB (Server Message Block) protocol, the core of Microsoft networking."
  706. ProductXACTSRVDescription       = "Microsoft LAN Manager Translator Service"
  707. ProductSRVDisplayName   = "Server"
  708. ProductSRVTitle         = "Server"
  709. ProductXACTDisplayName  = "XactSrv"
  710. ProductSRVSRVDisplayName       = "Srv"
  711. ShellCodeErrorTitle     = "Error: "$(FunctionTitle)
  712. ShellCodeErrorText      = "Shell Code Error."
  713. [DialogConstantsENG]
  714. Help        = "&Help"
  715. Exit        = "Cancel"
  716. OK          = "OK"
  717. HelpContext = ""
  718. Continue    = "Continue"
  719. Cancel      = "Cancel"
  720. [FileDependentDlgENG]
  721. GroupLabel = "Optimization:"
  722. Radio1 = "&Minimize Memory Used"
  723. Radio2 = "&Balance"
  724. Radio3 = "M&aximize Throughput for File Sharing"
  725. Radio4 = "Ma&ximize Throughput for Network Applications"
  726. CheckBox1 = "Ma&ke Browser Broadcasts to LAN Manager 2.x Clients"
  727. DlgType = "RadioCombination"               
  728. DlgTemplate = "LMSERVER"       
  729. Caption = $(FunctionTitle)
  730. EditTextIn = ""
  731. EditTextLim = ""
  732. CBOptionsGreyed = {}
  733. ComboListItemsOut = {}
  734. OptionsGreyed = {}
  735. HelpContext = $(!IDH_DB_OEMNSVSV_INS)
  736.